package apresentacao;

import java.util.*;
import java.io.*;

import negocio.Cliente;
import negocio.GerenteCliente;
import negocio.ImobiliariaException;


public class MenuClientes {

		private GerenteCliente gerClientes;
		Scanner entrada = new Scanner(System.in);
		
		public MenuClientes() throws ImobiliariaException, IOException{
			gerClientes = new GerenteCliente();
		}
	    
	    public void telaCliente() throws ImobiliariaException, IOException{
	        
	    	Scanner entrada = new Scanner(System.in);
	    	int escolha;
	    	
	    	do{
	    		System.out.println(" ================================= ");
	    		System.out.println("||         MENU CLIENTES          ||");
	    		System.out.println("||================================||");
	    		System.out.println("|1 - PARA CADASTRAR CLIENTE        |");
	    		System.out.println("| ---------------------------------|");
	    		System.out.println("|2 - PARA CONSULTAR CLIENTE        |");
	    		System.out.println("| ---------------------------------|");
	    		System.out.println("|3 - PARA ALTERAR CLIENTE          |");
	    		System.out.println("| ---------------------------------|");
	    		System.out.println("|4 - PARA APAGAR CLIENTE           |");
	    		System.out.println("| ---------------------------------|");
	    		System.out.println("|0 - PARA VOLTAR AO MENU PRINCIPAL |");
	    		System.out.println(" ================================= ");
	    		escolha = entrada.nextInt();
	    	    
	    		switch(escolha){
	    			case 1: cadastroCliente();		break;
	    			case 2: consultaCliente();      break;
	    	        default:System.out.println("Opcao nao existe, voltando para Menu Principal");
	              }
  	        }while(escolha != 0);
	    
	   }
	    	
	   	public void cadastroCliente() throws ImobiliariaException, IOException{
	   	
	    	Scanner entrada = new Scanner(System.in);
	    	Cliente c = new Cliente();
	    	
	    	System.out.println("===== CADASTRO CLIENTES =====");
		    System.out.print("Nome: "); 					  c.setNome(entrada.nextLine());
		    System.out.print("Data de Nascimento: "); 		  c.setDataNasc(entrada.nextLine());      
		    System.out.print("Endereco: "); 				  c.setEndereco(entrada.nextLine());
		    System.out.print("Carteira de Identidade(RG): "); c.setRg(entrada.nextLine());
	        System.out.print("CPF: "); 						  c.setCpf(entrada.nextLine());
	        System.out.print("Telefone: "); 				  c.setTelefone(entrada.nextLine());
		    System.out.print("Email: "); 					  c.setEmail(entrada.nextLine());
		    System.out.print("Renda: "); 					  c.setRenda(Float.parseFloat(entrada.nextLine()));
		    System.out.print("Estado Civil: "); 			  c.setEstadoCivil(entrada.nextLine());        
	        gerClientes.adicionar(c);
	       }
	   	
	   	
	   	public void consultaCliente() throws ImobiliariaException, IOException{
	   	
	   		Scanner entrada = new Scanner(System.in);
	    	int escolha;
	       	do{
	    		System.out.println(" ================================= ");
	    		System.out.println("||         MENU CLIENTES          ||");
	    		System.out.println("||================================||");
	    		System.out.println("|1 - CONSULTA POR NOME             |");
	    		System.out.println("| ---------------------------------|");
	    		System.out.println("|2 - CONSULTA POR CPF              |");
	    		System.out.println("| ---------------------------------|");
	    		System.out.println("|3 - CONSULTA POR DATA DE NASC     |");
	    		System.out.println(" ================================= ");
	    		escolha = entrada.nextInt();
	    	    
	    		switch(escolha){
	    			case 1: consultaPorNome();		break;
	    			case 2: consultaPorCpf();       break;
	    			case 3: consultaPorDataNasc();  break;
	    			case 0: menuAnterior();		    break;
	    	        
	    	        default:System.out.println("Opcao nao existe, voltando para Menu Principal");
	              }
  	        }while(escolha != 0);
	    
	   }	
	    
	   	
	   	public void consultaPorNome() throws ImobiliariaException, IOException{
	   		Cliente c = new Cliente();
	   		System.out.println("Digite o nome do cliente");
	   		System.out.print("Nome: "); 					  c.setNome(entrada.nextLine());
	   		
	   		gerClientes.consultaPorNome(c.getNome());
	   		
	   	}
	   	
	   	public void consultaPorCpf() throws ImobiliariaException, IOException{
	   		Cliente c = new Cliente();  		
	   		gerClientes.consultaPorCpf(c.getCpf());
	   	
	   	}
	   	
		public void consultaPorDataNasc() throws ImobiliariaException, IOException{
			Cliente c = new Cliente();
	   		gerClientes.consultaDataNasc(c.getDataNasc());
		}

		public void menuAnterior() throws ImobiliariaException, IOException{
			   	telaCliente();
			
		}   	
	   
}

